container: don't leak the focus_child ref count
authorStefan Kost <ensonic@users.sf.net>
Fri, 20 Aug 2010 10:48:17 +0000 (13:48 +0300)
committerStefan Kost <ensonic@users.sf.net>
Wed, 1 Sep 2010 13:59:00 +0000 (16:59 +0300)
gtk_conatiner_set_focus_child() takes a ref. Release the ref in _destroy().
Fixes #414712.

gtk/gtkcontainer.c

index a2346ff673f45cfcae2f098fae7e545261723ced..0a1f705cd239bc51a3793ae68a821b6c441cde49 100644 (file)
@@ -1078,6 +1078,12 @@ gtk_container_destroy (GtkObject *object)
   if (GTK_CONTAINER_RESIZE_PENDING (container))
     _gtk_container_dequeue_resize_handler (container);
 
+  if (container->focus_child)
+    {
+      g_object_unref (container->focus_child);
+      container->focus_child = NULL;
+    }
+
   /* do this before walking child widgets, to avoid
    * removing children from focus chain one by one.
    */